//
//  NSDictionary+ZXAvoidCrash.h
//  ZXAvoidCrash
//
//  Created by 朱新明 on 2023/2/3.
//

#import <Foundation/Foundation.h>
#import "ZXAvoidCrashProtocol.h"

NS_ASSUME_NONNULL_BEGIN

@interface NSDictionary (ZXAvoidCrash)<ZXAvoidCrashProtocol>

@end


/**
*  会crash的初始化：返回过滤nil（key/value）后的有效字典或空字典__NSDictionary0；
*
*  1. 字面值创建@{}(这种创建方式底层就是调用2中的方法)：
 id someValue = nil;
 NSDictionary *dic = @{@"1":someValue,@"2":@(1)};
*  2.- (instancetype)initWithObjects:(const ObjectType _Nonnull [_Nullable])objects forKeys:(const KeyType <NSCopying> _Nonnull [_Nullable])keys count:(NSUInteger)cnt;
*  3. + (instancetype)dictionaryWithObjects:(const ObjectType _Nonnull [_Nullable])objects forKeys:(const KeyType <NSCopying> _Nonnull [_Nullable])keys count:(NSUInteger)cnt;//调用2中的方法
*  4.+ (instancetype)dictionaryWithObject:(ObjectType)object forKey:(KeyType <NSCopying>)key;//调用2中的方法

*  5.- (instancetype)initWithObjects:(NSArray<ObjectType> *)objects forKeys:(NSArray<KeyType <NSCopying>> *)keys;//返回nil

 **/

NS_ASSUME_NONNULL_END
